First party advertisement serving

ABSTRACT

Adservers with the ability to access advertiser cookies and vice versa when both are serving from the advertiser&#39;s domain are provided, thereby avoiding the overhead and delay in backend cookie synchronization efforts. Further, advertising cookie data can be gathered regardless of whether a user is browsing a publisher&#39;s web site with an advertisement served by an adserver, or browsing the advertiser&#39;s web site, because the cookies were previously set when the user visited the advertiser&#39;s web site in the context of a first-party cookie. Even if the user has configured his or her browser to limit the setting of third-party cookies, the cookies can still be read by the adserver. By making cookie and advertising data immediately available in real time to both the advertiser and the adserver, the solution also provides for instantaneous and accurate targeting of web advertising to allow an educated ad selection process by either party.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional patentapplication No. 60/689,725 entitled “First party advertisement serving”and filed on Jun. 9, 2005 and U.S. provisional patent application No.60/689,510 entitled “Cookie-less third party advertisement serving” andfiled on Jun. 9, 2005, both of which are incorporated by reference intheir entirety as if fully set forth herein.

BACKGROUND

This invention relates generally to computer software and systems, andmore particularly to methods for serving advertising via a network, suchas the Internet.

Third party advertisement serving on the Internet arose as a method foradvertisers to use third parties to deploy web-based advertising and tomeasure and validate the quantity and quality of advertisements servedby a web site. Existing “cookie” technology was adapted in order toenable accurate measurement of the number of unique web page views andclick-throughs. Cookies are small text files created and subsequentlyread by browsers, such as Internet Explorer, Netscape Navigator,Firefox, and Safari. The browser sends an existing cookie along with aweb page request to a web server. If a cookie does not already exist onthe web browser, the web server can use a browser's cookie facility toset a cookie and store data therein. A web server might storeinformation, such as access date, domain name, customer type, andactivity type.

If a browser views a web page served by a web server that uses cookies,one or more cookies are set to the browser's local repository. Becauseof the design of the underlying web server/browser technology, when thebrowser returns to the previously viewed web page at some future time,the web server that originally set the cookie automatically retrieves acopy of the cookie and can then modify it and send it back to the webbrowser. Additionally, if a cookie was originally set by a web server,the server's domain is granted future access to the cookie even if thebrowser does not return to the original web server.

As an illustrative example, suppose an advertiser's web site is visitedby a web browser, “Browser A.” The advertiser is a company called“Company Name,” and the company has its own domain, web server, and website. The domain of Company Name is “.companyname.com.” When Browser Aviews the Company Name web site, the advertiser's web server sets acookie to Browser A. Browser A then leaves the Company Name web site andvisits other web sites, including a web page on a publisher site,“website2.com.” Generally, a publisher web site is one that presents oneor more different types of content and offers advertisement or bannerspace therewith. An advertiser can “rent” the banner space from thepublisher and can serve advertisements directly from its own web server,or it can arrange to have a third-party company, an “adserver,” servethe advertising. In this example, the advertiser has arranged for anadserver to serve the advertising for the web site. Thus, thepublisher's web site, “www.website2.com,” contains a banner ad that isserved by the adserver. The adserver has its own domain, for example,“.adserver.com.” If Browser A is configured to accept third-partycookies, the adserver's web server can set a cookie to Browser A.

Whenever a browser has a cookie that is associated with a particulardomain, it will send the cookie to the web server within the domainalong with any request for web content from the web server. In otherwords, once a web server has set a cookie on a browser, the browser willsend the cookie to the web server unless the browser is specifically setto block the cookie. When a web server receives a cookie, it isavailable to be written into log files on the server. Even if a webserver is set to ignore incoming cookies and take no action based ontheir content, it still receives the cookies and can log them. Thus,both adservers' and advertisers' web servers have difficulties avoidingtheir own cookies.

There are two additional facets to web page, web server, and cookietechnologies that should be understood. First, the web site listed in abrowsers uniform resource locator (URL) address bar may not be servingthe entire web page that the browser is displaying. Instead, the variouscomponents that make up the web page can be served by different webserves. An individual user could point a web browser to a publisher'sweb page, for example, that has a frame across the bottom in which anadserver displays an advertisement. Both the publisher's web server andthe adserver's web server may set cookies to the user's browser (unlessthe user has enabled third party cookie blocking. Second, cookies set toa particular web server domain are available to be read by any webserver in the domain or sub-domain thereof. For example, Company has aweb server “Alpha” that serves a web page from the domain “.company.com”and sets cookie “A” to a particular computer user's browser. When theuser subsequently directs her browser to a web page served from thedomain “.server2.company.com,” a second company web server “Beta” servesthe second web page. Since the web server Beta has a domain under thedomain of web server Alpha (web server Beta's domain is called asub-domain of web server Alpha's domain), each time the web server Betareceives a web page request, it will receive any cookie previouslywritten to the requesting browser by the web server Alpha.

Delivering an advertisement to a browser through an adserver that usescookies to serve, track, and measure the advertisements that werepurchased has advantages. Advertisers use adservers because of thefeatures and benefits they provide, including: counting and measurementof ad performance regardless of the web site on which the advertisingappears; independent verification of advertising views andclick-throughs; and web-wide, site agnostic implementation, reporting,and measurement of all web-based advertising. However, downsides tousing an adserver include the following: third party cookies of theadserver can be blocked by a user or may even be deleted by anti-spywareprograms, advertising data gained from adserver cookies is not readilyavailable to the advertiser, the advertiser has to wait until itreceives data (e.g., log file data) from the adserver, or the adserverhas to build a real-time cookie synchronization process. The reverse isalso true; the adserver has to wait to receive log file data from theadvertiser or build a real-time cookie synchronization process beforethe adserver can target advertisements based on customer variables(e.g., customer=high value) that were recently changed by theadvertiser. Additionally, a disadvantage of many current cookiesynchronization processes is that they are unidirectional as opposed toshared cookie implementation in which data can be sharedbi-directionally.

Although much cookie usage can be relatively innocuous, some uses canraise serious privacy concerns as web servers can use cookies torecognize and track web viewing habits of a particular browser. Becausedata concerning web viewing habits can be valuable, a person's browsinghistory can be a commodity that is bought and sold. The privacy concernsthus raised by cookie usage have created a backlash among the Internetusing populace, causing many users to disable or otherwise limit thecookie features of their browsers. By limiting cookie technologies,browsers are unable to view and access the full content and features ofthe cookie-enabled web sites.

Because of this backlash against cookie use, the advertising industry isunder increasing pressure in some situations to avoid cookietechnologies, however, the industry still desires to continue enjoyingthe efficiencies and benefits of using adservers without the addedburden of customer's privacy being intruded upon. Furthermore, becausemany adservers have created cookies in the past, even if they stop usingcookies now, they would still receive and cannot avoid reading anypreviously created cookies along with any new web pages requests. Thereis therefore a need, in these situations, for a solution that avoidscookie technologies while still allowing advertisers to use adserversand reap the benefits thereof.

SUMMARY

Implementations described and claimed herein address the foregoingproblems by providing adservers with the ability to access advertisercookies and vice versa when both are serving from the advertiser'sdomain, thereby avoiding the overhead and delay in backend cookiesynchronization efforts. Further, advertising cookie data can begathered regardless of whether a user is browsing a publisher's web sitewith an advertisement served by an adserver, or browsing theadvertiser's web site, because the cookies were previously set when theuser visited the advertiser's web site in the context of a first-partycookie. Even if the user has configured his or her browser to limit thesetting of third-party cookies, the cookies can still be read by theadserver. By making cookie and advertising data immediately available inreal time to both the advertiser and the adserver, the solution alsoprovides for instantaneous and accurate targeting of web advertising toallow an educated ad selection process by either party.

In another implementation, adservers are provided with the ability toavoid creating cookies through the use of “virgin domains.” Virgindomains include new domains that have either never existed or have neverserved cookies. Adservers, advertisers, and publishers can purchase newdomains from domain registrars, such as GODaddy.com or NetworkSolutions. In one implementation, for example, a database of domainnames is cross-checked to ensure virgin status of the any contemplateddomain. In another implementation, an audit of the domain registrars iscompleted to verify virgin status. In yet another implementation, aseries of log files are maintained and used to audit a domain's statusto ensure that it is a virgin domain. Adservers within verified virgindomains can thus serve content and any cookies that were previouslycreated in other domains are not passed to the web servers within thevirgin domains.

In some implementations, articles of manufacture are provided ascomputer program products. One implementation of a computer programproduct provides a computer program storage medium readable by acomputer system and encoding a computer program. Another implementationof a computer program product may be provided in a computer data signalembodied in a carrier wave by a computing system and encoding thecomputer program. Other implementations are also described and recitedherein.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTIONS OF THE DRAWINGS

FIG. 1 illustrates an example of a first party advertisement servingenvironment.

FIG. 2 illustrates another example of a first party advertisementserving environment.

FIG. 3 illustrates yet another example first party advertisement servingenvironment.

FIG. 4 illustrates example operations of a method of serving anadvertisement.

FIG. 5 illustrates an example system that may be useful in implementingthe described technology.

DETAILED DESCRIPTIONS

A first party advertisement serving environment in which an adservershares a domain of an advertiser is provided. Since the adserver sharesthe advertiser's domain, the adserver has first party access to cookiesset by the advertiser and can thus read and write to the advertiser'scookie data set on a user's browser. Even if the user has blocked theuse of third party cookies via his browser security settings, theadserver can read and write to first party cookies of the advertiserwithout being blocked by the security settings. Further, such firstparty cookies of an advertiser are less likely to be considered spywareand blocked or deleted by an anti-spyware program. Thus, the adserveroperating within the domain of the advertiser can provide advertisementservices that might not be available to a third party adserver.

In one implementation, for example, an advertiser provides access to oneof its sub-domains to an adserver. The adserver can then serve web pagesand components of web pages (for example, advertisements) from thesub-domain to which it was granted access by the advertiser. Thus, acookie originally written by a web server of the advertiser is availableto be read and written to by a web server of the adserver. A computeruser who modifies browser options in order to block the setting of thirdparty cookies will not block the reading of cookies by a sub-domainbecause the cookies were set in the first party context on theadvertiser's site.

In another implementation, the environment includes a web browser, anadvertiser web site having an associated domain and web server, a firstparty cookie, a publisher web site, and an adserver servingadvertisements into the publisher web site. When the browser accessesthe advertiser web site, the associated web server sets the first partycookie to the browser. At some time later, when the browser accesses thepublisher web site that contains advertisements served by the adserver,the browser sends the advertiser's cookie to the adserver and requestsan advertisement. The adserver receives cookies because the adserver'sdomain is a sub-domain of the advertiser's domain. The adserver readsthe cookie and based on the cookie value sends the requested contentback to the browser. Further explanation of this process can be found inRFC 2109 entitled HTTP State Management Mechanism.

In yet another implementation, the use and deployment of web servers andcookie technology is structured so that the advertiser's CustomerRelationship Management (CRM) system can fully utilize the real timedata gathered and shared by both the advertiser and the adserversthrough shared cookies. Because both the advertiser and the adserverread and write to the same cookies, data can be shared in real-time.Delays caused by current methods of periodically synchronizing adserverand advertiser data (e.g., overnight cookie synchronization) areeliminated or at least reduced.

In one implementation, the adserver that is serving web advertising fromwithin an advertiser domain is not limited to serving advertisementsdepicting the primary advertiser. Instead, the adserver can serveadvertisements from one or more other companies (or fourth parties). Ifthe fourth parties have pre-existing relationships with the advertiser(e.g., marketing partnerships, cross-selling agreements, joint ventures,etc.) both the advertiser and fourth parties can reap the extra benefitsof having the fourth party advertisements be served from within asub-domain of the advertiser.

In another implementation, the adserver can serve e-mail advertising viathe first party domain of the advertiser. The e-mail advertisementsoriginate from within the domain of the advertiser, which may be atrusted e-mail provider of its customers. The e-mail advertisement maythus be delivered as a trusted or approved e-mail message directly to anin-box of its customers instead of being blocked by spam filtering.

In yet another implementation, a virgin domain is set up by an adserver.A web server is configured within a virgin domain and no set-cookieoptions are selected. Thus, because no cookies will be created in thefuture—and no cookies were previously created by any web server withinthis virgin domain—the virgin domain remains free of cookies as does anyadvertising served from the virgin domain. A cookie-less advertisementserving environment has therefore been created for the adserver.Although no cookies are used, the environment still provides for theimpression and click reporting functions on the performance ofadvertisements, which can be used in further advertising selection.

FIG. 1 illustrates a block diagram of an example system 100 showingfirst party advertisement serving. In this implementation, a useroperates a web browser 102 that includes one or more cookies 104. Theweb browser 102 may be resident on any digital media addressable device,such as but not limited to a personal computer, a laptop computer, ahandheld device (e.g., a cell phone, an MP3 player, a blackberry, apersonal data assistant), or the like. The user directs the browser 102to a web site 106, such as “www.website.com,” via the browser 102. Theweb site 106 is served by a publisher 108, which is responsible for theoverall content of the web site 106. The browser 102 sends a request tothe publisher 108 for content of the web site 106 served by thatpublisher 108. The publisher 108 serves the web site 106 by providingcontent for at least a portion of the site. As described above, if oneor more of the cookies 104 had previously been set by the publisher 108,the one or more of the cookies 104 set by the publisher 108 is forwardedto the publisher 108 along with the request.

In the implementation shown in FIG. 1, the web site 106 also includes abanner advertisement 110 served by an adserver 112. The adserver 112 isassociated with at least one advertiser 114 and provides advertisementsin the banner 110 on behalf of the at least one advertiser 114. One ormore other components of the web site may be served by a contentprovider other than the publisher 108, such as another advertiser orother content provider.

The adserver 112 shares a domain 116 with the advertiser 114. In thisimplementation, the advertiser has a domain 116 of “advertiser.com,” andthe adserver 112 is assigned a sub-domain of the advertiser's domain,i.e., “ads.advertiser.com.” Since the adserver 112 shares the domain ofthe advertiser 114, the adserver 112 has first party access to a cookiethat has been previously been set by the advertiser 114. Thus, if theuser has previously made a purchase on a web site published by theadvertiser 114, the advertiser site may have set a cookie on the user'sbrowser 102 identifying the user as a customer. The browser 102 thensends a copy of the cookie set by the advertiser 114 to the adserver 112along with a request for content for the banner advertisement 110.

There are various methods by which an advertiser 114 can providesub-domain access to an adserver 112. In one implementation, forexample, the advertiser 114 uses its domain name service (DNS) serversto delegate or redirect sub-domain DNS requests to adserver DNS servers.This process is called DNS delegation. This can be accomplished bycreating Name Server (NS) records in the advertiser DNS servers thatpoint to the adserver DNS server. Further explanation of this processcan be found in RFC1591. In another implementation, the advertiser 114can point their host name to the adserver's Internet Protocol (IP)address by means of an Address Record (or “A Record”) in the advertiserDNS servers. In yet another implementation, the adserver's hardware andsoftware are co-located within the advertiser's infrastructure orco-located on the same network as the advertiser's infrastructure.

When an adserver DNS server receives a redirect, it takes the logicalname of a sub-domain sent from the advertiser DNS server (e.g.,“ads.companyname.com”) and resolves it into an adserver IP address. Forexample, “ads.companyname.com” would be resolved into an IP address,such as “216.150.209.230.” A browser request for the web site“ads.companyname.com” travels to the advertiser DNS server and then tothe adserver DNS server. The adserver DNS server would return the IPaddress “216.150.209.230” to the browser. After receiving the associatedIP address, the browser sends any cookies associated with the domain“.advertiser.com” along with the web page request to the associated IPaddress. On advantage of DNS delegation, for example, is that it canseamlessly integrate with an adserver's existing proprietary solutionsfor load-balancing and fail-over of advertisement serving.

The adserver 112 receives the request to serve the advertiser banner 110and determines an advertisement for displaying in the banner 110. Theadserver 112, for example, may determine an appropriate content for theadvertising banner 110 depending upon at least one value of a cookiereceived from the browser 102. When the adserver 112 receives and readsa cookie 104 accompanying a browser request, for example, the adserver112 may recognize cookie values identified for advertisement selectionthat the advertiser's web server originally placed in the cookie. Forexample, if an advertiser's web server recognizes that a particularcustomer who is visiting the advertiser's web site is a high valuecustomer. The web server then sets a cookie 104 to the customer'sbrowser 102 containing the domain “.advertiser.com” and the data“Target=high_value.” The advertiser 114 previously communicated with anadserver 112 to convey the rule that whenever the adserver 112encounters cookie data with “Target=high_value,” the adserver 112 shouldrecognize that it is dealing with a high value customer of theadvertiser 114 and should serve advertising appropriate to such acustomer. Each time the customer visits the “www.advertiser.com” website, the “Target” cookie value can be reset by the advertiser's webserver to reflect the customer's current value status. For instance, thecustomer may be a “medium_value” customer when he first accesses theadvertiser's web site, but then makes a large purchase. The advertiser'sweb server can update the customer's status to “high_value” and thenreset the cookie information accordingly. If the customer's browser 102subsequently interacts with the adserver's web server, the updatedcookie value will instantaneously cause a “high_value” advertisement tobe returned from the adserver's web server to the customer's browser102.

While the adserver 112 is serving web advertising from within the domain116 of the advertiser 114, the adserver 112 may not be not limited toserving advertisements on behalf of the primary advertiser 114. Instead,the adserver 112 can serve advertisements from one or more othercompanies (or fourth parties). If the fourth parties have pre-existingrelationships with the advertiser 114 (e.g., marketing partnerships,cross-selling agreements, joint ventures, etc.) both the advertiser 114and fourth parties can reap the extra benefits of having the fourthparty advertisements be served from within a sub-domain of theadvertiser 114.

If the user clicks on or otherwise selects the advertisement in thebanner 110, the user's browser is directed to a web site of theadvertiser 114, which is located within the advertiser's domain“advertiser.com.”

FIG. 2 illustrates another example of a first party advertisementserving environment 200. The figure includes three columns. The firstcolumn includes four representations of a computer workstation 202representing a computer user and a web browser. Although a workstationis shown in FIG. 2, the browser can be running from any browser-capabledevice, including, but not limited to: a personal digital assistant(PDA), a mobile telephone, a notebook computer, a desktop computer, andthe like. Proceeding from the top of the page to the bottom, eachrepresentation of the workstation represents the same workstation, butat a later time. For example, the first workstation representation mightoccur in Hour 1, the second in Hour 2, etc. The second column includesrepresentations of a web site 204 that the browser in column 1 isviewing at a given time. The third column contains representations ofthe configurations of the advertiser “Lender” and the adserver“Adserver” configuration of the Domain Name Service (DNS) servers, andthe implementation of the rules that the Adserver web server uses torespond to banner advertisements on a publisher's web site.

Continuing the above example, in Hour 1 a user directs her web browserto the “home.lender.com” web site. She then completes a “Request Loan”web form and the Lender web server sets a cookie on her browsercontaining the completed information. Lender, the advertiser, entersinto an arrangement with Adserver to serve banner advertisements onpublisher web sites “publisher1.com” and “publisher2.com.” Lender andAdserver configure their servers and DNS servers according to animplementation described above. Adserver has a domain of“ads.lender.com” that is a sub-domain of the advertiser Lender's domain“lender.com.” In Hour 2, the user directs her browser to the publisher'sweb site “publisher1.com” that includes a banner advertisement forLender that is served by Adserver. Because the user's browser alreadycontains a cookie for the domain lender.com created in Hour 1 by thelender web server, the cookie is sent by the browser to the Adserver webserver along with a request for the banner advertisement. The Adserverweb server reads the cookie and recognizes that the customer has apending loan application. In response, the Adserver web server sends“Banner 1” advertisement back to the web browser.

In Hour 3, the user visits “lender.com” again and this time selects arate of 4%. This information is added to the “lender.com” cookie by theLender web server. In Hour 4, the user directs her browser to the secondpublisher web site “publisher2.com,” which also contains a Lender banneradvertisement. The browser sends the lender.com cookie to the Adserverweb server requesting the banner advertisement. The Adserver web serverreads the cookie and recognizes that the rate or 4% as set by the Lenderweb server in Hour 3. In response, the Adserver web server sends “Banner4” back to the web browser.

FIG. 3 illustrates yet another example first party advertisementenvironment 300. In this implementation, the environment 300 includes aplurality of web sites 302, 304, and 306. Each of the web sites 302,304, and 306 are hosted by a publisher (e.g., CNN, MSN, and yahoo).Further, two of the web sites 302 and 304 include a component 308 and310 served by advertisers 314 and 316, respectively. The web site 302,for example, includes a banner advertisement 308 served by an advertiser314, such as “Advertiser 1”. The third web site 306 includes a component312, which is served by a third party adserver 318.

Thus, when a user directs her browser to the web site 302, the web siteincludes a link directing the browser to an address within the logicaldomain of the advertiser 314 to retrieve an advertisement for the banneradvertisement 308. If the domain of “Advertiser 1” is“.advertiser1.com,” for example, the web site might include a link to asub-domain of Advertiser 1, such as “ads.advertiser1.com.” To retrievethe advertisement information for the banner advertisement 308, thebrowser sends a request to the “ads.advertiser1.com” sub-domain. Therequest is forwarded to a DNS server associated with the“advertiser1.com” domain, which includes a name server (NS) redirector320. The NS redirector 320 directs the request of to a DNS serverassociated with the adserver 318, which in turn resolves the sub-domain“ads.advertiser1.com” to an IP address of the adserver 318. As describedabove, the adserver 318 shares the domain of the advertiser 314 and thushas first party access to read and write to cookie data stored on theuser's browser as if the adserver 318 were the advertiser 314.

Similarly, web site 304 includes a banner advertisement 310 and a linkto a logical domain of another advertiser 316 (e.g., “Advertiser 2”) toretrieve an advertisement for the banner advertisement 310. If thedomain of Advertiser 2 is “.advertiser2.com,” for example, the web site304 might include a link to a sub-domain of Advertiser 2, such as“ads.advertiser2.com.” To retrieve the advertisement information for thebanner advertisement 310, the browser sends a request to the“ads.advertiser2.com” sub-domain. The request is forwarded to a DNSserver associated with the “advertiser2.com” domain, which includes aname server (NS) redirector 322. The NS redirector 322 redirects therequest to a DNS server associated with the adserver 318, which in turnresolves the sub-domain “ads.advertiser2.com” to an IP address of theadserver 318. Alternatively, another adserver may service the banneradvertisement 310 on behalf of Advertiser 2. Since the adserver 318shares the domain of the advertiser 314 as well as the advertiser 316,the adserver 318 thus has first party access to read and write to cookiedata stored on the user's browser as if the adserver 318 were both theadvertisers 314 and 316.

A third web site 306 includes another banner advertisement 312 and alink directly to the adserver 318 to service the banner advertisement312 on the web site 306. In this manner, the adserver 318 acts as atypical third party adserver on behalf of the web site 306. Thus, theadserver 318 shown in FIG. 3 acts as a first party advertisement servicefor the web pages 302 and 304, but acts as a third party advertisementservice for the web page 306.

In one particular implementation, the adserver 318 may also supportsecure socket layer (SSL) protocol (e.g., HTTPS://) to at least one ofthe advertisers 314 and 316. By sharing the logical domain of theadvertiser, the adserver can use a certificate of the advertiser toenable SSL communication. The advertiser, for example, may purchase anSSL certificate for the sub-domain “ads.advertiser.com” and supply theadserver with the certificate to match the sub-domain delegated to theadserver and the parent domain of the advertiser.

FIG. 4 illustrates example operations 400 of a method of serving anadvertisement. A user directs a browser to a web site hosted by apublisher and including a component such as a banner advertisementserved by an adserver in operation 402. The user may, for example, entera uniform resource locator (URL) or an Internet Protocol address in thebrowser to direct the browser to a desired web site. The web siteincludes a link to the publisher for retrieving content for the web siteand a link to the adserver to retrieve an advertisement for a componentof the web site, such as a banner advertisement. When the browseraccesses the web site, the browser sends a content request to thepublisher via the link from the web site for content in operation 404.The publisher responds to the content request by providing content forthe web site to the browser in operation 406.

The browser also sends an advertisement serving request directed to asub-domain of an advertiser via the link to request advertising contentin operation 408. The request is routed to a DNS server of a parentdomain of the advertiser in operation 410. The DNS server redirects theadvertisement serving request to a DNS server of the sub-domain that isassociated with the adserver serving the banner advertisement of the website in operation 412. As described above, infrastructure associatedwith the sub-domain may be co-located with infrastructure of the parentdomain of the advertiser, may be co-located on a private network, may beaccessible via a public network (e.g., the Internet), or the like.

The advertisement serving request may be redirected by a DNS server ofthe parent domain of the advertiser in a number of ways. In oneimplementation, for example, DNS delegation is used in which a nameserver (NS) record in the DNS server points to a DNS server of theadserver. In this manner, the advertisement serving request directed tothe sub-domain is received by the DNS server of the advertiser andforwarded to the adserver via an NS record that points to a DNS serverof the adserver. The following example instructions could be added, forexample, to a domain zone file for a domain “advertiser.com” under whichan advertiser wants its first party cookies to be served.

; Sub-domain Delegation

ads IN NS ns1.advertiser.com ads IN NS ns2.advertiser.com ads IN NSns3.advertiser.comIn this implementation, the sub-domain “ads.advertiser.com” would beassigned to the adserver, which would assign IP addresses of its systemto the name “ads.”

In another implementation, the DNS server of the parent domain of theadvertiser utilizes an Address Record (“A Record”) in the parent domainDNS server to point to an address of a server of the adserver, such aspointing directly to an Internet Protocol (IP) address of the server.Other implementations are also contemplated.

If the browser includes a copy of one or more cookie associated with adomain of the advertiser (e.g., the parent domain, the sub-domain, oranother domain of the advertiser), the one or more cookie is forwardedto the adserver in operation 414. The one or more cookie may beforwarded to the adserver along with the advertisement service requestor may be forwarded to the adserver separately from the advertisementservice request. The adserver may read and write to the cookie as afirst party directly associated with the cookie because the adservershares the domain of the advertiser. Thus, the one or more cookie on thebrowser may be updated directly by either the advertiser or the adserverwithout having to synchronize information between the advertiser and theadserver.

The adserver receives the advertisement serving request from thepublisher web site in operation 416. The adserver, for example, mayreceive the advertisement serving request at a DNS server of theadserver after it has been redirected, such as described above withrespect to operation 412. The adserver DNS server, in turn, resolves thesub-domain into an address (e.g., an IP address) and forwards theadvertisement serving request to a server associated with the address.In another implementation, a server of the adserver may receive theadvertisement serving request directly from the DNS server of theadvertiser via an address record (A Record) of the advertiser DNSserver. Other implementations are also contemplated.

If one or more cookie associated with the parent domain of theadvertiser is forwarded from the browser, the adserver also receives theone or more cookie in operation 418. As described above the one or morecookie may be received together with the advertisement service requestor may be received separately from the advertisement service request.

The adserver receives the advertisement serving request and the one ormore cookie (if applicable) and selects an advertisement from aplurality of advertisements. The adserver, for example, may select theadvertisement based at least in part upon a cookie associated with theparent domain of the advertiser. If no cookie is transmitted, however,the adserver may select the advertisement according to other criteria.As described above, the adserver may select an advertisement associatedwith the advertiser or may select an advertisement on behalf of anotherparty (i.e., a fourth party). The fourth party, for example, may have across-marketing agreement in place with the advertiser or may simply beanother party unrelated to the advertiser.

The adserver then forwards content for the selected advertisement to thebrowser in operation 420. In one implementation, for example, thecontent is forwarded directly from the adserver to the browser via anopen socket. Other implementations are also contemplated.

In situations where cookie-less advertising is required or desired, forexample, adservers are provided with the ability to avoid creatingcookies through the use of “virgin domains.” As described above, virgindomains include new domains that have either never existed or have neverserved cookies. Adservers, advertisers, and publishers can purchase newdomains from domain registrars, such as GODaddy.com or NetworkSolutions.

The virgin status of a particular domain can be verified in a number ofmanners. In one implementation, for example, a database of domain namesis cross-checked to ensure virgin status of the any contemplated domain.In another implementation, an audit of the domain registrars iscompleted to verify virgin status. In yet another implementation, aseries of log files are maintained and used to audit a domain's statusto ensure that it is a virgin domain. Adservers within verified virgindomains can thus serve content and any cookies that were previouslycreated in other domains are not passed to the web servers within thevirgin domains.

In some circumstances, an adserver may believe a domain qualifies as avirgin domain, but later unexpectedly receives cookies from a browserthrough the domain. As such, the adserver can detect receipt of thecookies in association with the ostensibly virgin domain and alertadministrative personnel. In this manner, the administration personnelcan replace the domain with a new truly virgin domain and perform othercorrective actions (e.g., the initial domain can be removed from adatabase of virgin domains). Alternatively, the adserver may take acorrective action to restore the virgin status of the domain by deletingor expiring the cookie received from the browser. In one implementation,for example, the adserver can re-issue the cookie received from thebrowser and set the “expires” attribute of the cookie to a date in thepast. Other implementations are also contemplated.

In another implementation, a browser session is created with HTTPrequests and responses that do not contain state information, i.e.,cookie data. The session limits the data passed in “Cookie” and“Set-Cookie” commands that normally carry state information betweenparticipating web servers and browsers. The stateless session—where nocookie is read or written—is created by a web server residing within avirgin domain.

A fully-qualified host name comprises a host (e.g., “www”) and domainname (e.g., “.company.com”). A domain name comprises two or more domainlevels (e.g., “.company” is a second level domain and “.com” is a toplevel domain). In one implementation, a domain name that has neverbefore existed (or existed and has never been used) is set up for thepurpose of serving cookie-less advertisements as a virgin domain. Withinthe virgin domain, any number of fully-qualified host names can beconfigured and deployed. Generally, a cookie can be state informationthat passes between an origin server (e.g., a web server) and a useragent (e.g., a browser), and is stored by the user agent. Furtherinformation concerning these technologies can be found in the HTTP/1.0RFC 2109 specification standards.

In another implementation, a virgin domain is set up by an adserver. Aweb server is configured within a virgin domain and no set-cookieoptions are selected. Thus, because no cookies will be created in thefuture—and no cookies were previously created by any web server withinthis virgin domain—the virgin domain remains free of cookies as does anyadvertising served from the virgin domain. A cookie-less advertisementserving environment has therefore been created for the adserver.Although no cookies are used, the environment still provides for theimpression and click reporting functions on the performance ofadvertisements, which can be used in further advertising selection.

An example hardware and operating environment is shown in FIG. 5 thatmay be used for implementing various computing devices in a first partyadvertisement serving environment. A general purpose computing device isprovided in the form of a computer 20 that may, for example, be used asa workstation for executing a browser program or as a server forexecuting software for an advertiser or adserver. The computer 20includes a processing unit 21, a system memory 22, and a system bus 23that operatively couples various system components including the systemmemory to the processing unit 21. There may be only one or there may bemore than one primary processing unit 21, such that the processor ofcomputer 20 comprises a single central-processing unit (CPU), or aplurality of processing units, commonly referred to as a parallelprocessing environment. The computer 20 may be a conventional computer,a distributed computer, or any other type of computer; the invention isnot so limited. In the illustrated example, an auxiliary processor 48 isalso coupled to the system bus 23 to provide processing operation for anauxiliary processing state. In an alternative implementation, theprimary processing unit 21 provides both a primary processing mode andan auxiliary processing mode.

The system bus 23 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, aswitched fabric, point-to-point connections, and a local bus using anyof a variety of bus architectures. The system memory may also bereferred to as simply the memory, and includes read only memory (ROM) 24and random access memory (RAM) 25. A basic input/output system (BIOS)26, containing the basic routines that help to transfer informationbetween elements within the computer 20, such as during start-up, isstored in ROM 24. The computer 20 further includes a hard disk drive 27for reading from and writing to a hard disk, not shown, a magnetic diskdrive 28 for reading from or writing to a removable magnetic disk 29,and an optical disk drive 30 for reading from or writing to a removableoptical disk 31 such as a CD ROM or other optical media.

The hard disk drive 27, magnetic disk drive 28, and optical disk drive30 are connected to the system bus 23 by a hard disk drive interface 32,a magnetic disk drive interface 33, and an optical disk drive interface34, respectively. The drives and their associated computer-readablemedia provide nonvolatile storage of computer-readable instructions,data structures, program modules and other data for the computer 20. Itshould be appreciated by those skilled in the art that any type ofcomputer-readable media which can store data that is accessible by acomputer, such as magnetic cassettes, flash memory cards, digital videodisks, random access memories (RAMs), read only memories (ROMs), and thelike, may be used in the example operating environment.

A number of program modules may be stored on the hard disk, magneticdisk 29, optical disk 31, ROM 24, or RAM 25, including an operatingsystem 35, one or more application programs 36, other program modules37, and program data 38. A user may enter commands and information intothe personal computer 20 through input devices such as a keyboard 40 andpointing device 42. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit21 through a serial port interface 46 that is coupled to the system bus,but may be connected by other interfaces, such as a parallel port, gameport, or a universal serial bus (USB). A primary display device 47, suchas a flat panel display or other type of display device, is alsoconnected to the system bus 23 via a display controller, such as aprimary display adapter 48 or an auxiliary display adapter 64. In theillustrated example, a multiplexer 66 switches display signals from theindividual display controllers. Alternatively, the display controllerscan include components to provide high impedance, such as tri-statebuffers, when not signaling the primary display adapter 47. In analternative implementation, a single display controller may be employedvia the primary processing unit 21. In addition to the primary displaydevice 47, computers typically include other peripheral output devices(not shown), such as speakers and printers.

The computer 20 may operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer 49.These logical connections are achieved by a communication device coupledto or a part of the computer 20; the invention is not limited to aparticular type of communications device. The remote computer 49 may beanother computer, a server, a router, a network PC, a client, a peerdevice or other common network node, and typically includes many or allof the elements described above relative to the computer 20, althoughonly a memory storage device 50 has been illustrated in FIG. 5. Thelogical connections depicted in FIG. 5 include a local-area network(LAN) 51 and a wide-area network (WAN) 52. Such networking environmentsare commonplace in office networks, enterprise-wide computer networks,intranets and the Internet, which are all types of networks.

When used in a LAN-networking environment, the computer 20 is connectedto the local network 51 through a network interface or adapter 53, whichis one type of communications device. When used in a WAN-networkingenvironment, the computer 20 typically includes a modem 54, a networkadapter, a type of communications device, or any other type ofcommunications device for establishing communications over the wide areanetwork 52. The modem 54, which may be internal or external, isconnected to the system bus 23 via the serial port interface 46. In anetworked environment, program modules depicted relative to the personalcomputer 20, or portions thereof, may be stored in the remote memorystorage device. It is appreciated that the network connections shown areexample and other means of and communications devices for establishing acommunications link between the computers may be used.

In an example implementation, an operating system, auxiliaryapplications, primary applications such as a browser, advertiser module,adserver module, or publisher module, and other modules may be embodiedby instructions stored in memory 22 and/or storage devices 29 or 31 andprocessed by the processing unit 21. Auxiliary processing settings,primary processing settings, and other data may be stored in memory 22and/or storage devices 29 or 31 as persistent datastores.

The technology described herein is implemented as logical operationsand/or modules in one or more systems. The logical operations may beimplemented as a sequence of processor-implemented steps executing inone or more computer systems and as interconnected machine or circuitmodules within one or more computer systems. Likewise, the descriptionsof various component modules may be provided in terms of operationsexecuted or effected by the modules. The resulting implementation is amatter of choice, dependent on the performance requirements of theunderlying system implementing the described technology. Accordingly,the logical operations making up the embodiments of the technologydescribed herein are referred to variously as operations, steps,objects, or modules. Furthermore, it should be understood that logicaloperations may be performed in any order, unless explicitly claimedotherwise or a specific order is inherently necessitated by the claimlanguage.

The above specification, examples and data provide a completedescription of the structure and use of example embodiments of theinvention. Although various embodiments of the invention have beendescribed above with a certain degree of particularity, or withreference to one or more individual embodiments, those skilled in theart could make numerous alterations to the disclosed embodiments withoutdeparting from the spirit or scope of this invention. In particular, itshould be understood that the described technology may be employedindependent of a personal computer. Other embodiments are thereforecontemplated. It is intended that all matter contained in the abovedescription and shown in the accompanying drawings shall be interpretedas illustrative only of particular embodiments and not limiting. Changesin detail or structure may be made without departing from the basicelements of the invention as defined in the following claims.

Although the subject matter has been described in language specific tostructural features and/or methodological arts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts descried above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claimed subject matter.

1. A method of serving an advertisement to a client system, the methodcomprising: receiving an advertisement serving request at a server froma publisher web page directed to an adserver within a delegatedsub-domain of an advertiser and redirected within a domain of theadvertiser via a domain name service (DNS) server; receiving a cookiefrom the client system set within the domain of the advertiser;selecting an advertisement from a plurality of candidate advertisementsbased at least upon the cookie set within the domain of the advertiser;and writing to a cookie data set of the client system within the domainof the advertiser.
 2. The method of claim 1 further comprising servingthe advertisement to the client system.
 3. The method of claim 1 whereinthe advertisement comprises an advertisement of the advertiser.
 4. Themethod of claim 1 wherein the advertisement comprises an advertisementof a second advertiser different from the advertiser.
 5. The method ofclaim 1 wherein the receiving operation further comprises redirectingthe advertisement serving request via a name server (NS) record in theDNS server that points to a DNS server of an adserver.
 6. The method ofclaim 1 wherein the receiving operation further comprises redirectingthe advertisement serving request via pointing a host name to an addressvia an address record of the DNS server.
 7. The method of claim 6wherein the address comprises an Internet Protocol address.
 8. Themethod of claim 1 further comprising resolving the sub-domain of theadvertiser to an address of a server of an adserver.
 9. The method ofclaim 6 wherein the address comprises an Internet Protocol address. 10.The method of claim 1 wherein the adserver is co-located with the DNSserver within an infrastructure of the advertiser.
 11. The method ofclaim 1 wherein the adserver is co-located on a network with the DNSserver of the advertiser.
 12. A computer-readable medium storingcomputer-executable instructions for performing a computer process, thecomputer process comprising: receiving an advertisement serving requestat a server from a publisher web page directed to an adserver within adelegated sub-domain of an advertiser and redirected within a domain ofthe advertiser via a domain name service (DNS) server; receiving acookie from the client system set within the domain of the advertiser;selecting an advertisement from a plurality of candidate advertisementsbased at least upon the cookie set within the domain of the advertiser;and writing to a cookie data set of the client system within the domainof the advertiser.
 13. A computing system comprising: a domain nameservice (DNS) server associated with a domain of an advertiser adaptedto receive an advertisement serving request from a publisher web pageand redirect the advertisement serving request within the domain of theadvertiser; and a sub-domain adserver assigned to a sub-domain of thedomain of the advertiser, the sub-domain adserver adapted to (a) receivethe redirected advertisement serving request via the DNS server, (b)receive a cookie set within the domain of the advertiser from a clientsystem accessing the publisher web page, (c) select an advertisementfrom a plurality of candidate advertisements based at least upon thecookie set within the domain of the advertiser; and (d) write to acookie data set of the client system within the domain of theadvertiser.
 14. The system of claim 13 wherein the sub-domain adserveris further adapted to serve the advertisement to the client system. 15.The system of claim 13 wherein the DNS server comprises a name server(NS) record pointing to a DNS server of an adserver.
 16. The system ofclaim 13 wherein the DNS server comprises an address record pointing ahost name to an address of the sub-domain adserver.
 17. The system ofclaim 16 wherein the address comprises an Internet Protocol address. 18.The system of claim 13 further comprising a sub-domain DNS serveradapted to resolve the sub-domain of the advertiser to an address of thesub-domain adserver.
 19. The system of claim 18 wherein the addresscomprises an Internet Protocol address.
 20. The system of claim 13wherein the sub-domain adserver is co-located with the DNS server withinan infrastructure of the advertiser.
 21. The system of claim 13 whereinthe sub-domain adserver is co-located on a network with the DNS server.